//package com.easyse.servicetechqa.event;
//
//import com.alibaba.fastjson.JSONObject;
//import com.easyse.elasticsearch.service.ElasticsearchService;
//import com.easyse.kafka.entity.Event;
//import com.easyse.model.DO.techqa.Techqa;
//import com.easyse.servicetechqa.service.TechqaService;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.kafka.clients.consumer.ConsumerRecord;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.kafka.annotation.KafkaListener;
//import org.springframework.stereotype.Component;
//
//import static com.easyse.kafka.util.KafkaConstant.TOPIC_DELETE;
//import static com.easyse.kafka.util.KafkaConstant.TOPIC_PUBLISH;
//
///**
// * @author: zky
// * @date: 2022/10/24
// * @description: 移动到kafka服务中去了
// */
//@Component
//@Slf4j
//public class EventConsumer {
//
//    @Autowired
//    TechqaService techqaService;
//
//    @Autowired
//    ElasticsearchService elasticsearchService;
//
//    /**
//     * 消费发帖事件
//     */
//    @KafkaListener(topics = {TOPIC_PUBLISH})
//    public void handlePublishMessage(ConsumerRecord record) {
//        if (record == null || record.value() == null) {
//            log.error("消息的内容为空");
//            return ;
//        }
//        Event event = JSONObject.parseObject(record.value().toString(), Event.class);
//        if (event == null) {
//            log.error("消息格式错误");
//            return ;
//        }
//
//        Techqa techqa = techqaService.getById(event.getEntityId());
//        elasticsearchService.saveTechqa(techqa);
//
//    }
//
//    /**
//     * 消费删帖事件
//     */
//    @KafkaListener(topics = {TOPIC_DELETE})
//    public void handleDeleteMessage(ConsumerRecord record) {
//        if (record == null || record.value() == null) {
//            log.error("消息的内容为空");
//            return ;
//        }
//        Event event = JSONObject.parseObject(record.value().toString(), Event.class);
//        if (event == null) {
//            log.error("消息格式错误");
//            return ;
//        }
//
//        elasticsearchService.deleteTechqa(event.getEntityId());
//
//    }
//}
